package com.huatai.saas.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huatai.saas.dto.BaseDto;
import com.huatai.saas.dto.OrderPageInfoListDto;
import com.huatai.saas.dto.SaveWorkingOrderDto;
import com.huatai.saas.dto.UpdateOrderForUserDto;
import com.huatai.saas.entity.WorkingOrderEntity;
import com.huatai.saas.vo.WorkingOrderListVO;
/**
 * @program: nanming-saas
 * @description:
 * @author: zcw
 * @create: 2024-04-10 15:00
 */
public interface WorkingOrderService extends IService<WorkingOrderEntity> {
	/**
	 * 新增工单
	 * @param saveWorkingOrderDto
	 * @return
	 */
	boolean saveOrder(SaveWorkingOrderDto saveWorkingOrderDto);

	/**
	 * 删除工单
	 * @param orderId
	 * @return
	 */
	boolean delOrder(Long orderId);

	/**
	 * 查询用户自己的工单列表
	 * @param pageInfo
	 * @return
	 */
	IPage<WorkingOrderListVO> getUserWorkingOrderList(OrderPageInfoListDto pageInfo);

	/**
	 * 查询所有的用户的工单列表
	 * @param pageInfo
	 * @return
	 */
	IPage<WorkingOrderListVO> getAllWorkingOrderList(OrderPageInfoListDto pageInfo);

	/**
	 * 修改工单信息(客户修改)
	 * @param updateWorkingOrderDto
	 * @return
	 */
	boolean updateOrder(UpdateOrderForUserDto updateWorkingOrderDto);

	/**
	 * 处理工单状态：未处理
	 * @param id
	 * @return
	 */
	boolean setUntreated(Long id);

	/**
	 *处理工单状态：处理中
	 * @param id
	 * @return
	 */
	boolean setHandling(Long id);

	/**
	 * 处理工单状态：已处理
	 * @param id
	 * @return
	 */
	boolean setProcessed(Long id);



}
